﻿namespace KinonekoSoftware.CodariaDB.Documents.Story
{
    /// <summary>
    /// <see cref="StoryPoint"/> 类型表示一个剧情点，剧情点可以是一个实体也可以是一个节点。
    /// </summary>
    /// <remarks>
    /// <para><see cref="StoryPoint"/>类型仅参与剧情。</para>
    /// <para>当剧情点作为一个实体时，他就是一个完整的剧情，应该对应一个外部文件或者 <see cref="Compose"/>。</para>
    /// <para>当剧情点作为一个节点的时候，它可以拆分也可以合并。 </para>
    /// </remarks>
    public sealed class StoryPoint3 : RootObject
    {
        private string _name;
        private string _intro;
        private string _color;
        
        public string SegmentID { get; set; }
        public string ParentID  { get; set; }
        public string StoryID   { get; set; }

        /// <summary>
        /// 获取或设置 <see cref="Color"/> 属性。
        /// </summary>
        public string Color
        {
            get => _color;
            set => SetValue(ref _color, value);
        }
        
        /// <summary>
        /// 获取或设置 <see cref="Intro"/> 属性。
        /// </summary>
        public string Intro
        {
            get => _intro;
            set => SetValue(ref _intro, value);
        }

        /// <summary>
        /// 获取或设置 <see cref="Name"/> 属性。
        /// </summary>
        public string Name
        {
            get => _name;
            set => SetValue(ref _name, value);
        }
    }
}